Skip to content

feat(QTDI-693): manage nested jars#969

Merged
ypiel-talend merged 25 commits intomasterfrom
undx/QTDI-693-runtime-fix
Aug 20, 2025
Merged

feat(QTDI-693): manage nested jars#969
ypiel-talend merged 25 commits intomasterfrom
undx/QTDI-693-runtime-fix

Conversation

Copy link
Contributor

@ozhelezniak-talend ozhelezniak-talend left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left comments

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request implements support for managing nested JARs in the Talend SDK component runtime. The changes enable the system to detect and handle components that are packaged within fat JARs with embedded Maven repositories.

  • Adds nested repository detection logic to check for MAVEN-INF/repository resources when default repository paths are used
  • Extends classloader functionality to track and expose nested JAR URLs
  • Updates component scanning to handle nested repositories with proper filtering

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
ContainerManager.java Implements nested repository detection and fallback logic for fat JAR scenarios
Container.java Adds public accessor method for nested repository status
ConfigurableClassLoader.java Tracks nested URLs and overrides getURLs() to include them
ComponentManagerTest.java Updates test expectations to account for nested JAR handling
ComponentManager.java Enhances component scanning to handle nested repositories with proper filtering
Comments suppressed due to low confidence (1)

component-runtime-manager/src/main/java/org/talend/sdk/component/runtime/manager/ComponentManager.java:1328

  • [nitpick] The log message format with manual bracket prefix is inconsistent with typical logging patterns. Consider using standard log formatting without manual prefixes.
                        log.info("[onCreate] Can't read nested scanning.properties: {}", e.getMessage());

@Getter
private final List<String> cacheableClasses;

private List<URL> nestedURLs = new ArrayList<>();
Copy link

Copilot AI Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The field should be declared as final since it's initialized once and never reassigned. Consider making it final for better immutability.

Suggested change
private List<URL> nestedURLs = new ArrayList<>();
private final List<URL> nestedURLs = new ArrayList<>();

Copilot uses AI. Check for mistakes.
undx and others added 7 commits July 21, 2025 18:17
* add snapshot plugin oss repo
* remove talend-icon
* remove org.talend.ui:talend-icon:3.8.0 it's deprecated dependency, and its content is already inside the folder of documentation/src/main/antora/modules/ROOT/assets/images/icons/svg
* feat(QTDI-113): Support Java 17 compilation (#936)

---------

Co-authored-by: Emmanuel GALLOIS <emmanuel.gallois@qlik.com>
Co-authored-by: undx <ouf@qlik.com>
Co-authored-by: Axel CATOIRE <axel.catoire@qlik.com>
* it was removed in 2020 and looks like we've missed it, it was added in a lot of modules for Cloud, but I think by mistake it was removed from component-runtime-manager.
* nexus creds for deps report
* use settings.xml for deps report
- fix springboot repackaging to BOOT-INF/ issue
- fix springboot repackaging to BOOT-INF/ issue
@undx undx requested a review from ozhelezniak-talend August 7, 2025 17:03
@sonar-eks
Copy link

sonar-eks bot commented Aug 18, 2025

Failed Quality Gate failed

  • 67.30% Coverage on New Code (is less than 80.00%)

Project ID: org.talend.sdk.component:component-runtime

View in SonarQube

@ypiel-talend ypiel-talend merged commit 829d8c5 into master Aug 20, 2025
7 of 8 checks passed
@ypiel-talend ypiel-talend deleted the undx/QTDI-693-runtime-fix branch August 20, 2025 09:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants